System and Method of Recording Television Content

ABSTRACT

A method of recording television content is disclosed and includes receiving one or more television program search criteria from a set-top box device at a recurrent searching system. The method also includes storing the one or more search criteria at the recurrent searching system. Further, the method includes performing a first search of electronic program guide (EPG) data accessible to the recurrent searching system based on the television program search criteria and performing at least one additional search of EPG data accessible to the recurrent searching system based on the television program search criteria after the first search.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of and claims priority to U.S. patentapplication Ser. No. 12/023,714 filed Jan. 31, 2008 which isincorporated herein by reference in its entirety.

FIELD OF THE DISCLOSURE

The present disclosure generally relates to recording televisioncontent.

BACKGROUND OF THE DISCLOSURE

Television service providers typically offer a wide variety of contentto subscribers. A subscriber may be interested in several types ofcontent but may not have time to watch initial airings of some programs.Hence, the subscriber may desire to record programs that he or she wouldotherwise miss.

BRIEF DESCRIPTION OF THE DRAWINGS

It will be appreciated that for simplicity and clarity of illustration,elements illustrated in the Figures have not necessarily been drawn toscale. For example, the dimensions of some of the elements areexaggerated relative to other elements. Embodiments incorporatingteachings of the present disclosure are shown and described with respectto the drawings presented herein, in which:

FIG. 1 is a block diagram illustrating a particular embodiment of asystem to record television content;

FIG. 2 is a block diagram illustrating a second particular embodiment ofa system to record television content;

FIG. 3 is a block diagram illustrating a third particular embodiment ofa system to record television content;

FIG. 4 is a block diagram illustrating a fourth particular embodiment ofa system to record television content;

FIG. 5 is a flow diagram illustrating a particular embodiment of amethod of recording television content;

FIG. 6 is a flow diagram illustrating a second particular embodiment ofa method of recording television content;

FIG. 7 is a flow diagram illustrating a third particular embodiment of amethod of recording television content; and

FIG. 8 is a block diagram illustrating a particular embodiment of ageneral computer system.

The use of the same reference symbols in different drawings indicatessimilar or identical items.

DETAILED DESCRIPTION OF THE DRAWINGS

The numerous innovative teachings of the present application will bedescribed with particular reference to the presently preferred exemplaryembodiments. However, it should be understood that this class ofembodiments provides only a few examples of the many advantageous usesof the innovative teachings herein. In general, statements made in thespecification of the present application do not necessarily delimit anyof the various claimed methods, systems or computer-readable media.Moreover, some statements may apply to some inventive features but notto others.

FIG. 1 illustrates a particular embodiment of a system 100 to recordtelevision content. The system 100 includes a set-top box device 102that communicates with a recurrent searching system 104 at a videohead-end 112 of a television service provider, via a television serviceprovider access network 122. The recurrent searching system 104 caninclude one or more servers, switches, databases, other networkelements, or any combination thereof. The video head-end 112 alsoincludes an electronic program guide (EPG) data server 142 thatcommunicates with the recurrent searching system 104. In one embodiment,the EPG data server 142 can communicate with the recurrent searchingsystem 104 via a private network 132 at the video head-end 112.

The set-top box device 102 is adapted to receive input from a userspecifying one or more television program search criteria, such as akeyword, an actor name, a subject, a time, a date, other televisionprogram search criteria, or any combination thereof. The set-top boxdevice 102 is adapted to send data corresponding to the one or moretelevision program search criteria to the recurrent searching system 104via the access network 122. Alternatively, the set-top box device 102can be adapted to send the one or more television program searchcriteria to the recurrent searching system 104 via a data network (notshown) that is separate from the access network 122, such as a broadbandInternet Protocol network. The recurrent searching system 104 is adaptedto receive the one or more television program search criteria from theset-top box device 102 and to store the one or more television programsearch criteria.

In a particular embodiment, the recurrent searching system 104 isadapted to recurrently search EPG data stored at the recurrent searchingsystem 104, the EPG data server 142, or a combination thereof, based onthe one or more television program search criteria. For example, therecurrent searching system 104 can be adapted to search EPG data that isaccessible to the recurrent searching system 104 when data correspondingto television program search criteria is received from the set-top boxdevice 102. Moreover, the recurrent searching system 104 can be adaptedto perform at least one additional search of EPG data that is accessibleto the recurrent searching system 104 at the end of one or morerecurrent searching periods, when new EPG data is accessible to therecurrent searching system 104 (e.g., when EPG data at the EPG dataserver 142 or the recurrent searching system 104 is added to orotherwise updated), or any combination thereof.

Further, the recurrent searching system 104 can be adapted to determinewhether EPG data indicates that one or more television programs match orotherwise satisfy the television program search criteria associated withthe set-top box device 102. The recurrent searching system 104 isadapted to instruct the set-top box device 102 to record, or cause adevice coupled to the set-top box device 102 to record, the one or morematching television programs. The set-top box device 102 is adapted torecord the one or more television programs or to instruct a digitalvideo recorder (DVR) or other device to record the one or moretelevision programs. In another embodiment, the set-top box device 102can output program recommendations that include the one or more matchingtelevision programs via a display device (not shown) coupled to theset-top box device 102, and a user can select which televisionprogram(s) to record.

In another particular embodiment, the recurrent searching system 104 canbe adapted to recurrently instruct the set-top box device 102 to searchEPG data stored at the set-top box device 102, at the EPG data server142, or a combination thereof. For instance, the recurrent searchingsystem 104 can be adapted to send data to the set-top box device 102corresponding to a command to search EPG data that is accessible to theset-top box device 102 when television program search criteria arereceived from the set-top box device 102, when a searching recurrentsearching period has ended, when the recurrent searching system 104receives data indicating that new EPG data is accessible to the set-topbox device 102 (e.g., when EPG data at the EPG data server 142 or theset-top box device 104 is added to or otherwise updated), or acombination thereof. The recurrent searching system 104 is also adaptedto send one or more stored television program search criteria associatedwith the set-top box device 102 with each command to perform a search ofEPG data based on the one or more television program search criteria.The set-top box device 102 can be adapted to determine whether the EPGdata indicates that any television programs match or otherwise satisfythe television program search criteria and to record such televisionprograms, to cause such television programs to be recorded, to outputprogram recommendations that include such television programs, or anycombination thereof.

In addition, the recurrent searching system 104 can be adapted to changethe one or more television program search criteria in response to arequest received from the set-top box device 102. For example, theset-top box device 102 can receive input from a user indicating that theone or more television program search criteria are to be changed andspecifying new television program search criteria. The recurrentsearching system 104 can be adapted to receive data corresponding to newtelevision program search criteria from the set-top box device 102. Therecurrent searching system 104 can also be adapted to perform recurrentsearches of EPG data based on the new television program search criteriaand to instruct the set-top box device 102 to record television programssatisfying the television program search criteria or to cause suchtelevision programs to be recorded. Alternatively, the recurrentsearching system 104 can be adapted to send data corresponding to thenew television program search criteria to the set-top box device 102with recurrent commands for the set-top box device 102 to perform asearch of EPG data. Further, the recurrent searching system 104 isadapted to delete television program search criteria in response to arequest received from the set-top box device 102, such as a request todelete such television program search criteria or a request todiscontinue recurrent searching based on the television program searchcriteria.

FIG. 2 illustrates a second particular embodiment of a system 200 torecord television content. The system 200 includes elements of an IPTVsystem having a client facing tier 202, an application tier 204, anacquisition tier 206, and an operations and management tier 208. Eachtier 202, 204, 206, and 208 is coupled to a private network 210, apublic network 212, or both the private network 210 and the publicnetwork 212. For example, the client-facing tier 202 can be coupled tothe private network 210, while the application tier 204 can be coupledto the private network 210 and to a public network, such as theInternet. The acquisition tier 206 can also be coupled to the privatenetwork 210 and to the public network 212. Moreover, the operations andmanagement tier 208 can be coupled to the public network 212.

The various tiers 202, 204, 206 and 208 communicate with each other viathe private network 210 and the public network 212. For instance, theclient-facing tier 202 can communicate with the application tier 204 andthe acquisition tier 206 via the private network 210. The applicationtier 204 can also communicate with the acquisition tier 206 via theprivate network 210. Further, the application tier 204 can communicatewith the acquisition tier 206 and the operations and management tier 208via the public network 212. Moreover, the acquisition tier 206 cancommunicate with the operations and management tier 208 via the publicnetwork 212. In a particular embodiment, elements of the applicationtier 204 can communicate directly with the client-facing tier 202.

The client-facing tier 202 can communicate with user equipment via aprivate access network 266, such as an Internet Protocol Television(IPTV) access network. In an illustrative embodiment, customer premisesequipment (CPE) such as a first CPE device 214 and a second CPE device222 can be coupled to the private access network 266. The CPE devices214 and 222 can include modems (e.g., digital subscriber line modems),residential gateways, routers, other devices, or any combinationthereof. The client-facing tier 202 can communicate with a firstrepresentative set-top box (STB) device 216 via the first CPE device 214and with a second representative set-top box device 224 via the secondCPE device 222. The client-facing tier 202 can communicate with a largenumber of set-top boxes over a wide geographic area, such as a regionalarea, a metropolitan area, a viewing area, or any other suitablegeographic area that can be supported by networking the client-facingtier 202 to numerous set-top box devices. In one embodiment, theclient-facing tier 202 can be coupled to the CPE devices 214 and 222 viafiber optic cables. Alternatively, the CPE devices 214 and 222 can bedigital subscriber line (DSL) modems that are coupled to one or morenetwork nodes via twisted pairs, and the client-facing tier 202 can becoupled to the network nodes via fiber-optic cables. Each of the set-topbox devices 216 and 224 can process data received from the privateaccess network 266 via an IPTV software platform such as Microsoft® TVIPTV Edition.

The first set-top box device 216 can be coupled to a first displaydevice 218, such as a first television monitor, and the second set-topbox device 224 can be coupled to a second display device 226, such as asecond television monitor. Moreover, the first set-top box device 216can communicate with a first remote control 220, and the second set-topbox device 224 can communicate with a second remote control 228. In anexemplary, non-limiting embodiment, each of the set-top box devices 216and 224 can receive data or video from the client-facing tier 202 viathe private access network 266 and render or display the data or videoat the display device 218 or 226 to which it is coupled. The set-top boxdevices 216 and 224 may include tuners that receive and decodetelevision programming information for transmission to the displaydevices 218 and 226. Further, each of the set-top box devices 216 and224 can include processing logic and memory accessible to the processinglogic, such as the STB processor 270 and the STB memory device 272. EachSTB memory device may include one or more computer programs, such as thecomputer program 274, that are executable by the STB processing logic.In one embodiment, one or more of the set-top box devices 216 and 224may include integrated digital video recorder (DVR) devices orcomponents, such as the DVR 282. In other embodiments, one or more ofthe set-top box devices 216 and 224 can be coupled to external DVRdevices.

In an illustrative embodiment, the client-facing tier 202 can include aclient-facing tier (CFT) switch 230 that manages communication betweenthe client-facing tier 202 and the private access network 266, andbetween the client-facing tier 202 and the private network 210. Asshown, the CFT switch 230 is coupled to one or more distribution servers(D-servers) 232 that may receive and store video content, requests,other data, or any combination thereof, which is bound to and from theset-top box devices 216 and 224. The CFT switch 230 can also be coupledto a terminal server 234 that provides terminal devices with a commonconnection point to the private network 210. In a particular embodiment,the CFT switch 230 can also be coupled to a video-on-demand (VOD) server236.

The CFT switch 230 is also coupled to a plurality of video servers 280that store video content that is to be distributed via the accessnetwork 266 to the set-top box devices 216 and 224. In an illustrative,non-limiting embodiment, each of the video servers 280 can be associatedwith one or more channels. In addition, the CFT switch 230 can becoupled to one or more recurrent searching servers 281 that are adaptedto search EPG data and to instruct each set-top box device to recordtelevision programs that satisfy television program search criteriaassociated with the set-top box device. In another embodiment, therecurrent searching server(s) 281 are adapted to store televisionprogram search criteria associated with a set-top box device and torecurrently command the set-top box device to search EPG data based onthe stored television program search criteria.

The application tier 204 communicates with both the private network 210and the public network 212. In this embodiment, the application tier 204can include a first application tier (APP) switch 238 and a second APPswitch 240. The first APP switch 238 can be coupled to the second APPswitch 240. The first APP switch 238 can be coupled to an applicationserver 242 and to an OSS/BSS gateway 244. The application server 242provides applications to the set-top box devices 216 and 224 via theprivate access network 266. Such applications enable the set-top boxdevices 216 and 224 to provide functions such as display, messaging,processing of IPTV data and VOD material, gaming functions, otherfunctions, or any combination thereof. In a particular embodiment, theOSS/BSS gateway 244 includes operation systems and support (OSS) data,as well as billing systems and support (BSS) data.

The second APP switch 240 is coupled to a domain controller 246 that isadapted to provide web access, for example, to subscribers via thepublic network 212. In addition, the second APP switch 240 is coupled toa subscriber and system store 248 that includes account information,such as account information that is associated with users who access thesystem 200 via the private network 210 or the public network 212. In aparticular embodiment, the application tier 204 can also include aclient gateway 250 that communicates data directly to the client-facingtier 202. In this embodiment, the client gateway 250 can be coupleddirectly to the CFT switch 230. The client gateway 250 can provide useraccess to the private network 210 and the tiers coupled thereto.

In a particular embodiment, the set-top box devices 216 and 224 canaccess the system via the private access network 266 using informationreceived from the client gateway 250. The private access network 266provides security for the private network 210. User devices can accessthe client gateway 250 via the private access network 266, and theclient gateway 250 can allow such devices to access the private network210 once the devices are authenticated or verified. Similarly, theclient gateway 250 can prevent unauthorized devices, such as hackercomputers or stolen set-top box devices, from accessing the privatenetwork 210 by denying access to these devices beyond the private accessnetwork 266.

For example, when the set-top box device 216 accesses the system 200 viathe private access network 266, the client gateway 250 can verifysubscriber information by communicating with the subscriber and systemstore 248 via the private network 210, the first APP switch 238 and thesecond APP switch 240. Further, the client gateway 250 can verifybilling information and status by communicating with the OSS/BSS gateway244 via the private network 210 and the first APP switch 238. TheOSS/BSS gateway 244 can transmit a query across the first APP switch238, to the second APP switch 240, and the second APP switch 240 cancommunicate the query across the public network 212 to the OSS/BSSserver 264. After the client gateway 250 confirms subscriber and/orbilling information, the client gateway 250 can allow the set-top boxdevice 216 access to IPTV content and VOD content. If the client gateway250 cannot verify subscriber information for the set-top box device 216,(e.g., it is connected to a different twisted pair), the client gateway250 can deny transmissions to and from the set-top box device 216 beyondthe private access network 266.

The acquisition tier 206 includes an acquisition tier (AQT) switch 252that communicates with the private network 210. The AQT switch 252 canalso communicate with the operations and management tier 208 via thepublic network 212. In a particular embodiment, the AQT switch 252 canbe coupled to a live acquisition server 254 that receives televisioncontent, for example, from a broadcast service 256. Further, the AQTswitch 252 can be coupled to a video-on-demand importer server 258 thatstores television content received at the acquisition tier 206 andcommunicates the stored content to the client-facing tier 202 via theprivate network 210. In addition, the AQT switch 252 can be coupled toan electronic program guide (EPG) server 257 that is adapted to receivetelevision program information from the live acquisition server 254, thebroadcast service 256, the VOD importer server 258, other televisionprogram information sources, or any combination thereof. The EPG server257 is adapted to process such information and to generate electronicprogram guide data, based on the information. The electronic programguide data can include, for example, an electronic program guidegenerated at the EPG server 257 or television information that can beused to generate an electronic program guide.

The operations and management tier 208 can include an operations andmanagement tier (OMT) switch 260 that conducts communication between theoperations and management tier 208 and the public network 212. In theillustrated embodiment, the OMT switch 260 is coupled to a TV2 server262 that is adapted to provide a TV2 user interface to user computers268 via the public network 212, for example. Additionally, the OMTswitch 260 can be coupled to an OSS/BSS server 264 and to a simplenetwork management protocol (SNMP) monitor 265 that monitors networkdevices. In a particular embodiment, the OMT switch 260 can communicatewith the AQT switch 252 via the public network 212.

In an illustrative embodiment, each set-top box device is adapted toreceive input from a user specifying one or more television programsearch criteria, such as a keyword, an actor name, a subject, a time, adate, other television program search criteria, or any combinationthereof. Each set-top box device is adapted to send the one or moretelevision program search criteria to the recurrent searching server 281via the access network 266. The recurrent searching server 281 isadapted to receive the one or more television program search criteriafrom each set-top box device and to store the one or more televisionprogram search criteria in association with the set-top box device fromwhich it is received.

In a particular embodiment, the recurrent searching server 281 isadapted to recurrently search EPG data stored at the recurrent searchingserver 281, the EPG server 257, or a combination thereof, based on theone or more television program search criteria associated with theset-top box device 224. For example, the recurrent searching server 281can be adapted to search EPG data that is accessible to the recurrentsearching server 281 when data corresponding to the television programsearch criteria is received from the set-top box device 224. Moreover,the recurrent searching server 281 can be adapted to perform at leastone additional search of EPG data that is accessible to the recurrentsearching server 281 at the end of one or more recurrent searchingperiods, when new EPG data is accessible to the recurrent searchingserver 281, or any combination thereof.

The recurrent searching server 281 can be adapted to search EPG data ina variety of ways. In one example, the recurrent searching server 281can receive and store EPG data sent by the EPG server 257, and therecurrent searching server 281 can be adapted to search EPG data storedat the recurrent searching server 281. Alternatively, the recurrentsearching server 281 can be adapted to submit one or more search queriesto the EPG data server 257 requesting EPG data corresponding to one ormore television programs that match or otherwise satisfy televisionprogram search criteria associated with the set-top box device 224.

Further, the recurrent searching server 281 can be adapted to determinewhether EPG data indicates that one or more television programs match orotherwise satisfy the television program search criteria associated withthe set-top box device 224. The recurrent searching server 281 isadapted to instruct the set-top box device 224 to record the matchingtelevision program(s), or to instruct the set-top box device 224 tocause the DVR 282 to record the matching television program(s). Theset-top box device 224 is adapted to record the one or more televisionprograms or to instruct the DVR to record the one or more televisionprograms, in response to related instructions received from therecurrent searching server 281. In another embodiment, the set-top boxdevice 224 can output program recommendations that include the one ormore matching television programs via the television monitor 226.

In another particular embodiment, the recurrent searching server 281 canbe adapted to recurrently instruct the set-top box device 224 to searchEPG data stored at the set-top box device 224, at the EPG server 257, ora combination thereof. For instance, the recurrent searching server 281can be adapted to send data to the set-top box device 224 correspondingto a command to search EPG data that is accessible to the set-top boxdevice 224 when television program search criteria are received from theset-top box device 224, when a searching recurrent searching period hasended, when the recurrent searching server 281 receives data indicatingthat new EPG data is accessible to the set-top box device 224, or acombination thereof. The recurrent searching server 281 is also adaptedto send one or more stored television program search criteria associatedwith the set-top box device 224 with each command to perform a search ofEPG data based on the one or more television program search criteria.The set-top box device 224 can be adapted to determine whether the EPGdata indicates that any television programs match or otherwise satisfythe television program search criteria and to record such televisionprograms, to cause the DVR 282 to record such television programs, tooutput program recommendations that include such television programs atthe television monitor 228, or any combination thereof.

In addition, the recurrent searching server 281 can be adapted to changethe one or more television program search criteria in response to arequest received from the set-top box device 224. For example, theset-top box device 224 can receive input from a user indicating that theone or more television program search criteria are to be changed andspecifying new television program search criteria. The recurrentsearching server 281 can be adapted to receive data corresponding to newtelevision program search criteria from the set-top box device 224. Therecurrent searching server 281 can also be adapted to perform recurrentsearches of EPG data based on the new television program search criteriaand to instruct the set-top box device 224 to cause television programssatisfying the television program search criteria to be recorded.Alternatively, the recurrent searching server 281 can be adapted to senddata corresponding to the new television program search criteria to theset-top box device 224 with recurrent commands for the set-top boxdevice 224 to perform a search of EPG data. Further, the recurrentsearching server 281 is adapted to delete television program searchcriteria in response to a request received from the set-top box device224, such as a request to delete such television program search criteriaor a request to discontinue recurrent searching based on the televisionprogram search criteria.

FIG. 3 illustrates a third particular embodiment of a system 300 torecord television content. The system 300 includes a set-top box device302 that communicates with a recurrent searching system 352 via atelevision service provider access network 350, such as a cable network,a satellite television network or an Internet Protocol Televisionnetwork. The recurrent searching system 352 can include one or moreservers, switches, databases, other network elements, or any combinationthereof. In other embodiments, the recurrent searching system 352 can beincorporated with another system or network element. For example, therecurrent searching system 352, or elements thereof, can be incorporatedwith a video server, distribution server or other network element of atelevision service provider.

In a particular embodiment, the set-top box device 302 can alsocommunicate with the recurrent searching system 352 via a data network370, such as the Internet or a private broadband data network. Forexample, when the access network 350 does not facilitate upstreamcommunication from the set-top box device 302, the set-top box device302 can communicate with television service provider systems, such asthe recurrent searching system 352 and other systems, via the datanetwork 370.

The set-top box device 302 includes processing logic 304 and memory 306accessible to the processing logic 304. The set-top box device 302 alsoincludes a first network interface 308 that is adapted to facilitatecommunication between the set-top box device 302 and the access network350. Further, the set-top box device 302 can include a second networkinterface 309 that is adapted to facilitate communication between theset-top box device 302 and the data network 370. In addition, theset-top box device 302 includes a display interface 310 adapted tofacilitate communication between the set-top box device 302 and adisplay device, such as the television 312. The set-top box device 302also includes a remote interface 314 that is adapted to communicate witha remote control device 316. In one embodiment, the set-top box device302 can include an integrated digital video recorder (DVR) 328.

In a particular embodiment, the memory 306 includes a plurality ofmodules 322-326. The modules 322-326 can include computer instructionsthat are readable and executable by the processing logic 304 toimplement various functions of the set-top box device 302 with respectto recording television content. For example, the modules 322-326 canrepresent various aspects of one or more software applications,operating systems, or other computer programs. In other embodiments, themodules 322-326 can be implemented as hardware logic or a combination ofhardware logic and computer instructions.

The memory 306 includes an input module 322 that is executable by theprocessing logic 304 to receive and process input from a user. Forinstance, the input module 322 is executable by the processing logic 304to receive input corresponding to a television program search function,such as input requesting recurrent searching and specifying one or moretelevision program search criteria. In another example, the input module322 is executable by the processing logic 304 to receive inputspecifying one or more changes in television program search criteria,input indicating a request to discontinue recurrent searching, inputindicating that television program search criteria is to be deleted, orany combination thereof.

The memory 306 also includes a search system module 324 that isexecutable by the processing logic 304 to send data to, and receive datafrom, the recurrent searching system 352. For example, the search systemmodule 324 is executable by the processing logic 304 to send data to therecurrent searching system 352 indicating a recurrent searching request,specifying one or more television program search criteria, or acombination thereof. In another example, the search system module 324 isexecutable by the processing logic 304 to send data to the recurrentsearching system 352 specifying one or more changes in televisionprogram search criteria, indicating that television program searchcriteria are to be deleted, requesting that recurrent searching bediscontinued, or any combination thereof.

In a particular embodiment, the search system module 324 can beexecutable by the processing logic 304 to send data to, and receive datafrom, the recurrent searching system 352 via the access network 350. Inanother embodiment, the search system module 324 can be executable bythe processing logic 304 to send data to the recurrent searching system352 via the data network 370 and to receive data from the recurrentsearching system 352 via the access network 350, the data network 370,or a combination thereof.

Further, the search system module 324 is executable by the processinglogic 304 to receive data from the recurrent searching system 352indicating that the set-top box device 302 is to record one or moretelevision programs at the digital video recorder (DVR) 328. The memory306 includes a record module 326 that is executable by the processinglogic 304 to record the television program(s) at the DVR 328 or toinstruct an external DVR to record the television program(s). In oneembodiment, the record module 326 can be executable by the processinglogic 304 to send television program recommendations that include thetelevision program(s) indicated by the recurrent searching system 352 atthe display device 312 and to record one or more television programsselected by a user from the recommendations or cause the selectedtelevision program(s) to be recorded.

The recurrent searching system 352 includes processing logic 354 andmemory 356 accessible to the processing logic 354. The recurrentsearching system 352 also includes at least one network interface 358that is adapted to facilitate communication between the recurrentsearching system 352 and the access network 350, the data network 370,or a combination thereof. In a particular embodiment, the memory 356includes a plurality of modules 360-366. The modules 360-366 can includecomputer instructions that are readable and executable by the processinglogic 354 to implement various functions of the recurrent searchingsystem 352 with respect to recording television content. For example,the modules 360-366 can represent various aspects of one or moresoftware applications, operating systems, or other computer programs. Inother embodiments, the modules 360-366 can be implemented as hardwarelogic or a combination of hardware logic and computer instructions.

The memory 356 includes a set-top box module 360 that is executable bythe processing logic 354 to receive data from the set-top box device 302via the access network 350, via the data network 370, or a combinationthereof. For example, the set-top box module 360 is executable by theprocessing logic 354 to receive data corresponding to a recurrent searchrequest, data specifying television program search criteria, or acombination thereof, from the set-top box device 302. Further, theset-top box module 360 is executable by the processing logic 354 toreceive data from the set-top box device 302 data specifying changes intelevision program search criteria, requests to discontinue recurrentsearching, requests to delete television program search criteria, or anycombination thereof. In addition, the set-top box module 360 isexecutable by the processing logic 354 to send data to the set-top boxdevice 302 identifying television programs satisfying the televisionprogram search criteria and instructing the set-top box device 302 torecord the television programs, to cause the television programs to berecorded, to output recommendations including the television programs,or any combination thereof.

The memory 356 includes a criteria module 362 to store televisionprogram search criteria received from the set-top box device 302. Thecriteria module 362 is also executable by the processing logic 354 tochange and delete television program search criteria associated with theset-top box device 302, in response to related requests received fromthe set-top box device 302. In addition, the memory 356 includes anelectronic program guide (EPG) data store 364 to store EPG data receivedat the recurrent searching system 352 from an EPG data server or othersource of television programming information.

Further, the memory 356 includes a search module 366 that is executableby the processing logic 354 to recurrently search EPG data based ontelevision program search criteria received from the set-top box device302. The search module 366 is executable by the processing logic 354 tosearch the EPG data periodically, when the EPG data is updated orotherwise changed at the EPG data store 364, when television programsearch criteria are received, when television program search criteriaare changed, when other times or events occur, or any combinationthereof. Further, the search module 366 is executable by the processinglogic 354 to determine whether the EPG data indicates that one or moretelevision programs match or otherwise satisfy the television programsearch criteria. In one embodiment, the search module 366 can beexecutable by the processing logic 354 to instruct the set-top boxdevice 302 to record one or more television programs that match orotherwise satisfy the television program search criteria associated withthe set-top box device 302 at the DVR 328. In another embodiment, thesearch module 366 can be executable by the processing logic 354 toinstruct the set-top box device 302 to output recommendations thatinclude the one or more television programs.

FIG. 4 illustrates a fourth particular embodiment of a system 400 torecord television content. The system 400 includes a set-top box device402 that communicates with a recurrent searching system 452 via anInternet Protocol Television (IPTV) access network 450. The set-top boxdevice 402 also communicates with an electronic program guide (EPG)server 472 via the IPTV access network 450. The set-top box device 402includes processing logic 404 and memory 406 accessible to theprocessing logic 404. The set-top box device 402 also includes a networkinterface 408 that is adapted to facilitate communication between theset-top box device 402 and the IPTV access network 450. In addition, theset-top box device 402 includes a display interface 410 adapted tofacilitate communication between the set-top box device 402 and adisplay device, such as the television 412. The set-top box device 402also includes a remote interface 414 that is adapted to communicate witha remote control device 416. In one embodiment, the set-top box device402 includes a digital video recorder (DVR) interface 409 that isadapted to facilitate communication between the set-top box device 402and an external DVR 419.

In a particular embodiment, the memory 406 includes a plurality ofmodules 422-430. The modules 422-430 can include computer instructionsthat are readable and executable by the processing logic 404 toimplement various functions of the set-top box device 402 with respectto recording television content. For example, the modules 422-430 canrepresent various aspects of one or more software applications,operating systems, or other computer programs. In other embodiments, themodules 422-430 can be implemented as hardware logic or a combination ofhardware logic and computer instructions.

The memory 406 includes an input module 422 that is executable by theprocessing logic 404 to receive and process input from a user. Forinstance, the input module 422 is executable by the processing logic 404to receive input corresponding to a television program search function,such as input requesting recurrent searching and specifying one or moretelevision program search criteria. In another example, the input module422 is executable by the processing logic 404 to receive inputspecifying one or more changes in television program search criteria,input indicating a request to discontinue recurrent searching, inputindicating that television program search criteria are to be deleted, orany combination thereof.

The memory 406 also includes a search system module 424 that isexecutable by the processing logic 404 to send data to, and receive datafrom, the recurrent searching system 452 via the IPTV access network450. For example, the search system module 424 is executable by theprocessing logic 404 to send data to the recurrent searching system 452specifying one or more television program search criteria. In anotherexample, the search system module 424 is executable by the processinglogic 404 to send data to the recurrent searching system 452 specifyingone or more changes in television program search criteria, indicatingthat television program search criteria are to be deleted, or anycombination thereof.

In a particular embodiment, the memory 406 includes an EPG module 426that is executable by the processing logic 404 to receive and store EPGdata sent by the EPG server 472 on a periodic basis, whenever new EPGdata is accessible to the set-top box device 402, when other times orevents occur, or any combination thereof. In one example, the EPG module426 can be executable by the processing logic 404 to receive datacorresponding to an electronic program guide from the EPG server 472. Inanother example, the EPG module 426 can be executable by the processinglogic 404 to receive data corresponding to television programmingcontent and to generate an electronic program guide based on the data.

The memory 406 includes a search module 428 that is executable by theprocessing logic 404 to receive data from the recurrent searching system452 corresponding to recurrent commands to search EPG data andcorresponding to television program search criteria associated with theset-top box device 402. The search module 428 is executable by theprocessing logic 404 to search, in response to such commands, EPG datastored at the set-top box device 402, at the EPG server 472, or acombination thereof, based on the television program search criteriareceived from the recurrent searching system 452. Further, the searchmodule 428 is executable by the processing logic 404 to determinewhether the EPG data indicates that one or more television programsmatch or otherwise satisfy the television program search criteria. Thememory 406 includes a record module 430 that is executable by theprocessing logic 404 to instruct the DVR 419 to record one or moretelevision programs that match or otherwise satisfy the televisionprogram search criteria.

In another embodiment, the search module 428 can be executable by theprocessing logic 404 to output recommendations that include the one ormore television programs at the display device 412. The search module430 can be executable by the processing logic 404 to receive userselections from the recommendations and to instruct the DVR 419 torecord the selected television program(s).

The recurrent searching system 452 includes processing logic 454 andmemory 456 accessible to the processing logic 454. The recurrentsearching system 452 also includes a network interface 458 that isadapted to facilitate communication between the recurrent searchingsystem 452 and the access network 450. In a particular embodiment, thememory 456 includes a plurality of modules 460-466. The modules 460-466can include computer instructions that are readable and executable bythe processing logic 454 to implement various functions of the recurrentsearching system 452 with respect to recording television content. Forexample, the modules 460-466 can represent various aspects of one ormore software applications, operating systems, or other computerprograms. In other embodiments, the modules 460-466 can be implementedas hardware logic or a combination of hardware logic and computerinstructions.

The memory 456 includes a set-top box module 460 that is executable bythe processing logic 454 to send data to, and receive data from, theset-top box device 402 via the access network 450. For example, theset-top box module 460 is executable by the processing logic 454 toreceive data specifying television program search criteria from theset-top box device 402. Further, the set-top box module 460 isexecutable by the processing logic 454 to receive data from the set-topbox device 402 corresponding to changes in television program searchcriteria, requests to delete television program search criteria, or acombination thereof. The memory 456 also includes a criteria module 462to store television program search criteria received from the set-topbox device 402. The criteria module 462 is also executable by theprocessing logic 454 to change and delete television program searchcriteria associated with the set-top box device 402, in response torelated requests from the set-top box device 402.

In addition, the memory 456 includes a search module 464 that isexecutable by the processing logic 454 to recurrently send data to theset-top box device 402 corresponding to a command to perform an EPG datasearch based on the television program search criteria. The data canalso indicate television program search criteria associated with theset-top box device. The search module 464 can be executable by theprocessing logic 454 to send such data to the set-top box device 402periodically, when EPG data is updated at the set-top box device 402,when EPG data is updated at the EPG server 472, when television programsearch criteria are received at the recurrent searching system 452, whenmodifications of television program search criteria are received at therecurrent searching system 452, or any combination thereof. In anillustrative embodiment, the memory 456 can include an EPG module 466that is executable by the processing logic 454 to receive data from theEPG server 472 indicating that new EPG data is accessible to the set-topbox device at the EPG server 472, has been sent to the set-top boxdevice by the EPG server 472, or a combination thereof.

FIG. 5 illustrates a particular embodiment of a method of recordingtelevision content. At block 500, a recurrent searching system receivesone or more television program search criteria from a set-top boxdevice. Moving to block 502, the recurrent searching system stores thetelevision program search criteria. Proceeding to block 504, therecurrent searching system searches electronic program guide (EPG) dataaccessible to the recurrent searching system based on the receivedtelevision program search criteria.

Continuing to decision node 506, the recurrent searching systemdetermines whether the EPG data indicates that one or more televisionprograms that match or otherwise satisfy the television program searchcriteria. If the recurrent searching system determines that there arenot any television programs that match or otherwise satisfy thetelevision program search criteria, the method advances to decision node510. Conversely, if the recurrent searching system determines that thereare one or more television programs match or otherwise satisfy thetelevision program search criteria, the method advances to block 508,and the recurrent searching system sends instructions to the set-top boxdevice to record the one or more matching television programs or tocause the one or more matching television programs to be recorded at adevice coupled to the set-top box device. The method then continues todecision node 510.

At decision node 510, the recurrent searching system determines whetherit has received a request to change the television program searchcriteria. If the recurrent searching system has received a request tochange the television program search criteria, the method returns toblock 500. Whereas, if the recurrent searching system has not received arequest to change the television program search criteria, the methodmoves to decision node 512, and the recurrent searching systemdetermines whether a recurrent searching period has ended. If therecurrent searching system determines that a recurrent searching periodhas ended, the method returns to 504, and the recurrent searching systemperforms another search of EPG data that is accessible to the recurrentsearching system. If the recurrent searching system determines that arecurrent searching period has not ended, the method can proceed todecision node 514, and the recurrent searching system can determinewhether it has received an indication that there is new EPG dataaccessible to the recurrent searching system. If there is new EPG dataaccessible to the recurrent searching system, the method can return toblock 504, and the recurrent searching system can perform another searchof the EPG data that is accessible to the recurrent searching system,including new EPG data, previous EPG data, or a combination thereof.

Returning to decision node 514, in a particular embodiment, if therecurrent searching system has not received an indication that there isnew EPG data accessible to the recurrent searching system, the methodcan continue to decision node 516, and the recurrent searching systemcan determine whether it has received a request to delete the televisionprogram search criteria. If the recurrent searching system has notreceived a request to delete the television program search criteria, themethod returns to decision node 510. Conversely, if the recurrentsearching system has received a request to delete the television programsearch criteria, the method advances to block 518, and the recurrentsearching system deletes the television program search criteria. Themethod terminates at 520.

FIG. 6 illustrates a second particular embodiment of a method ofrecording television content. At block 600, a recurrent searching systemreceives one or more television program search criteria from a set-topbox device. Moving to block 602, the recurrent searching system storesthe television program search criteria. Proceeding to decision node 604,the recurrent searching system whether a recurrent searching period hasended. If the recurrent searching system determines that a recurrentsearching period has ended, the method advances to block 608, and therecurrent searching system sends the stored television program searchcriteria and a command to search electronic program guide (EPG) data tothe set-top box device. The method then moves to decision node 610.

Returning to decision node 604, if the recurrent searching systemdetermines that a recurrent searching period has not ended, the methodproceeds to decision node 606, and the recurrent searching systemdetermines whether it has received an indication that there is new EPGdata (e.g., updated EPG data) has been sent to the set-top box device oris otherwise accessible to the set-top box device. If the recurrentsearching system receives an indication of new EPG data, the methodproceeds to block 608. Whereas, if the recurrent searching system hasnot received an indication of new EPG data, the method continues todecision node 610, and the recurrent searching system can determinewhether it has received a request to change the television programsearch criteria.

If the recurrent searching system has received a request to change thetelevision program search criteria, the method returns to block 600.Whereas, if the recurrent searching system has not received a request tochange the television program search criteria, the method moves todecision node 612, and the recurrent searching system can determinewhether it has received a request to delete the television programsearch criteria. If the recurrent searching system has not received arequest to delete the television program search criteria, the methodreturns to decision node 604. Conversely, if the recurrent searchingsystem has received a request to delete the television program searchcriteria, the method advances to block 614, and the recurrent searchingsystem deletes the television program search criteria. The methodterminates at 616.

FIG. 7 illustrates a third particular embodiment of a method ofrecording television content. At block 700, a set-top box devicereceives inputs corresponding to one or more television program searchcriteria. The set-top box device sends the one or more televisionprogram search criteria to a recurrent searching system at a videohead-end associated with a television service provider via an InternetProtocol (IP) network, such as an Internet Protocol Television (IPTV)access network or a data network. Proceeding to decision node 702, theset-top box device determines whether it has received a command tosearch EPG data that is stored at the set-top box device or is otherwiseaccessible to the set-top box device.

If the set-top box device does not receive a command to search EPG data,the method advances to decision node 712. Conversely, if the set-top boxdevice receives a command to search EPG data accessible to the set-topbox device, the method continues to block 704, and the set-top boxdevice searches the EPG data. Moving to block 706, the set-top boxdevice determines whether the EPG data indicates that one or moretelevision programs match or otherwise satisfy the television programsearch criteria. If the set-top box device determines that there are notany television programs that satisfy the television program searchcriteria, the method proceeds to decision node 712. Conversely, if theset-top box device determines that there are one or more televisionprograms match or otherwise satisfy the television program searchcriteria, the method advances to block 708, and the set-top box deviceoutputs program recommendations that include the one or more matchingtelevision programs at a display device that is coupled to the set-topbox device. Continuing to block 710, the set-top box device receives oneor more user selections from the program recommendations and instructs aDVR device to record the selected programs. The method then proceeds todecision node 712.

At decision node 712, the set-top box device determines whether it hasreceived a request to change the television program search criteria. Ifthe set-top box device has received a request to change the televisionprogram search criteria, the method returns to block 700. Whereas, ifthe set-top box device has not received a request to change thetelevision program search criteria, the method moves to decision node714, and the set-top box device can determine whether it has received arequest to delete the television program search criteria. If the set-topbox device has not received a request to delete the television programsearch criteria, the method returns to decision node 704. Conversely, ifthe set-top box device has received a request to delete the televisionprogram search criteria, the method advances to block 716, and theset-top box device sends data to the recurrent searching systemindicating that the television program search criteria is to be deleted.The method terminates at 718.

FIG. 8 shows an illustrative embodiment of a general computer 800including a set of instructions that can be executed to cause thecomputer system to perform any one or more of the methods or computerbased functions disclosed herein. The computer system 800 may operate asa standalone device or may be connected, e.g., using a network, to othercomputer systems or peripheral devices. In an illustrative embodiment,such standalone and peripheral devices can include, for example, set-topbox devices, recurrent searching systems, other network elements, othersubscriber devices, or any combination thereof, as illustrated in FIGS.1-4.

In a networked deployment, the computer system may operate in thecapacity of a server or as a client user computer in a server-clientuser network environment, or as a peer computer system in a peer-to-peer(or distributed) network environment. The computer system 800 can alsobe implemented as or incorporated into various devices, such as apersonal computer (PC), a tablet PC, a set-top box (STB), a personaldigital assistant (PDA), a mobile device, a palmtop computer, a laptopcomputer, a desktop computer, a communications device, a wirelesstelephone, a land-line telephone, a control system, a camera, a scanner,a facsimile machine, a printer, a pager, a personal trusted device, aweb appliance, a network router, switch or bridge, or any other machinecapable of executing a set of instructions (sequential or otherwise)that specify actions to be taken by that machine. In a particularembodiment, the computer system 800 can be implemented using electronicdevices that provide voice, video or data communication. Further, whilea single computer system 800 is illustrated, the term “system” shallalso be taken to include any collection of systems or sub-systems thatindividually or jointly execute a set, or multiple sets, of instructionsto perform one or more computer functions.

The computer system 800 may include a processor 802, e.g., a centralprocessing unit (CPU), a graphics processing unit (GPU), or both.Moreover, the computer system 800 can include a main memory 804 and astatic memory 806 that can communicate with each other via a bus 808. Asshown, the computer system 800 may further include a video display unit810, such as a liquid crystal display (LCD), an organic light emittingdiode (OLED), a flat panel display, a solid state display, or a cathoderay tube (CRT). Additionally, the computer system 800 may include aninput device 812, such as a keyboard, and a cursor control device 814,such as a mouse. The computer system 800 can also include a disk driveunit 816, a signal generation device 818, such as a speaker or remotecontrol, and a network interface device 820.

In a particular embodiment as depicted in FIG. 8, the disk drive unit816 may include a computer-readable medium 822 in which one or more setsof instructions 824, e.g. software, can be embedded. Further, theinstructions 824 may embody one or more of the methods or logic asdescribed herein. In a particular embodiment, the instructions 824 mayreside completely, or at least partially, within the main memory 804,the static memory 806, and/or within the processor 802 during executionby the computer system 800. The main memory 804 and the processor 802also may include computer-readable media. The network interface device820 can provide connectivity to a network 826, e.g., a wide area network(WAN), a local area network (LAN), or other network.

In an alternative embodiment, dedicated hardware implementations, suchas application specific integrated circuits, programmable logic arraysand other hardware devices, can be constructed to implement one or moreof the methods described herein. Applications that may include theapparatus and systems of various embodiments can broadly include avariety of electronic and computer systems. One or more embodimentsdescribed herein may implement functions using two or more specificinterconnected hardware modules or devices with related control and datasignals that can be communicated between and through the modules, or asportions of an application-specific integrated circuit. Accordingly, thepresent system encompasses software, firmware, and hardwareimplementations.

In accordance with various embodiments of the present disclosure, themethods described herein may be implemented by software programsexecutable by a computer system. Further, in an exemplary, non-limitedembodiment, implementations can include distributed processing,component/object distributed processing, and parallel processing.Alternatively, virtual computer system processing can be constructed toimplement one or more of the methods or functionality as describedherein.

The present disclosure contemplates a computer-readable medium thatincludes instructions 824 or receives and executes instructions 824responsive to a propagated signal, so that a device connected to anetwork 826 can communicate voice, video or data over the network 826.Further, the instructions 824 may be transmitted or received over thenetwork 826 via the network interface device 820.

While the computer-readable medium is shown to be a single medium, theterm “computer-readable medium” includes a single medium or multiplemedia, such as a centralized or distributed database, and/or associatedcaches and servers that store one or more sets of instructions. The term“computer-readable medium” shall also include any medium that is capableof storing, encoding or carrying a set of instructions for execution bya processor or that cause a computer system to perform any one or moreof the methods or operations disclosed herein.

In a particular non-limiting, exemplary embodiment, thecomputer-readable medium can include a solid-state memory such as amemory card or other package that houses one or more non-volatileread-only memories. Further, the computer-readable medium can be arandom access memory or other volatile re-writable memory. Additionally,the computer-readable medium can include a magneto-optical or opticalmedium, such as a disk or tapes or other storage device to capturecarrier wave signals such as a signal communicated over a transmissionmedium. A digital file attachment to an e-mail or other self-containedinformation archive or set of archives may be considered a distributionmedium that is equivalent to a tangible storage medium. Accordingly, thedisclosure is considered to include any one or more of acomputer-readable medium or a distribution medium and other equivalentsand successor media, in which data or instructions may be stored.

Although the present specification describes components and functionsthat may be implemented in particular embodiments with reference toparticular standards and protocols, the invention is not limited to suchstandards and protocols. For example, standards for Internet and otherpacket switched network transmission (e.g., TCP/IP, UDP/IP, HTML, HTTP)represent examples of the state of the art. Such standards areperiodically superseded by faster or more efficient equivalents havingessentially the same functions. Accordingly, replacement standards andprotocols having the same or similar functions as those disclosed hereinare considered equivalents thereof.

The illustrations of the embodiments described herein are intended toprovide a general understanding of the structure of the variousembodiments. The illustrations are not intended to serve as a completedescription of all of the elements and features of apparatus and systemsthat utilize the structures or methods described herein. Many otherembodiments may be apparent to those of skill in the art upon reviewingthe disclosure.

Other embodiments may be utilized and derived from the disclosure, suchthat structural and logical substitutions and changes may be madewithout departing from the scope of the disclosure. Additionally, theillustrations are merely representational and may not be drawn to scale.Certain proportions within the illustrations may be exaggerated, whileother proportions may be minimized. Accordingly, the disclosure and theFigures are to be regarded as illustrative rather than restrictive.

The Abstract of the Disclosure is provided with the understanding thatit will not be used to interpret or limit the scope or meaning of theclaims. In addition, in the foregoing Detailed Description of theDrawings, various features may be grouped together or described in asingle embodiment for the purpose of streamlining the disclosure. Thisdisclosure is not to be interpreted as reflecting an intention that theclaimed embodiments require more features than are expressly recited ineach claim. Rather, as the following claims reflect, inventive subjectmatter may be directed to less than all of the features of any of thedisclosed embodiments. Thus, the following claims are incorporated intothe Detailed Description of the Drawings, with each claim standing onits own as defining separately claimed subject matter.

The above disclosed subject matter is to be considered illustrative, andnot restrictive, and the appended claims are intended to cover all suchmodifications, enhancements, and other embodiments which fall within thetrue spirit and scope of the present disclosed subject matter. Thus, tothe maximum extent allowed by law, the scope of the present disclosedsubject matter is to be determined by the broadest permissibleinterpretation of the following claims and their equivalents, and shallnot be restricted or limited by the foregoing detailed description.

What is claimed is:
 1. A method comprising: receiving, by a processor ofa recurrent searching system, search criteria associated with content;storing, by the processor, the search criteria at a first memory of therecurrent searching system; performing, by the processor, a first searchof first electronic program guide data accessible to the recurrentsearching system based on the search criteria; responsive to a lapse ofa time period, performing a second search of the first electronicprogram guide data based on the search criteria after the first search,wherein the second search is not triggered by an update to the firstelectronic program guide data, and wherein the first electronic programguide data is updated based on scheduling of television programs; andproviding instructions to a mobile device to perform a third search ofsecond electronic program guide data stored at a second memory that isaccessible to the mobile device, wherein the second memory is remotefrom the mobile device.
 2. The method of claim 1, wherein the secondmemory is located at a set top box in communication with the mobiledevice, wherein the search criteria is generated at the mobile device.3. The method of claim 1, further comprising determining from the firstsearch, the second search and the third search, whether the first andsecond electronic program guide data indicate that a television programsatisfies the search criteria.
 4. The method of claim 3, furthercomprising instructing a set top box to record the television program.5. The method of claim 1, further comprising providing programrecommendations generated based on the first search, the second searchand the third search.
 6. The method of claim 1, further comprising:receiving adjusted search data from the mobile device, wherein theadjusted search data is generated based on user input at the mobiledevice; and performing an additional search based on the adjusted searchdata.
 7. The method of claim 1, further comprising deleting the searchcriteria from the first memory.
 8. The method of claim 7, wherein thedeleting of the search criteria is responsive to a deletion requestgenerated by the mobile device based on user input at the mobile device.9. A set top box device, comprising: a memory to store computerinstructions; and a processor coupled with the memory, wherein theprocessor, responsive to executing the computer instructions, performsoperations comprising: accessing user input information; determiningsearch criteria based on the user input information; sending the searchcriteria to a recurrent searching system via a network; receiving afirst command from the recurrent searching system to perform a firstsearch of first electronic program guide data accessible to the set topbox device based on the search criteria; and receiving a second commandfrom the recurrent searching system to perform a second search of thefirst electronic program guide data accessible to the set top box devicebased on the search criteria, wherein the second search is performed inresponse to a lapse of a time period and is not triggered by an updateto the first electronic program guide data, wherein the first electronicprogram guide data is updated based on scheduling of televisionprograms, and wherein the sending of the search criteria to therecurrent searching system causes the recurrent searching system toperform a third search of second electronic program guide data stored atthe recurrent searching system based on the search criteria.
 10. The settop box device of claim 9, wherein the user input information isreceived from a mobile device.
 11. The set top box device of claim 9,wherein the operations further comprise receiving instructions from therecurrent searching system to record a television program based on aresult of the third search.
 12. The set top box device of claim 9,wherein the operations further comprise determining from the firstsearch, the second search, and the third search, whether the first andsecond electronic program guide data indicate that a television programsatisfies the search criteria.
 13. The set top box device of claim 12,wherein the operations further comprise receiving instructions to recordthe television program.
 14. The set top box device of claim 9, whereinthe operations further comprise presenting program recommendationsgenerated based on the first search, the second search and the thirdsearch.
 15. The set top box device of claim 9, wherein the operationsfurther comprise generating instructions for a digital video recordercoupled to the set top box device to record a television programidentified by search results of the first search, the second search andthe third search.
 16. A computer-readable storage device, comprisingcomputer instructions, which, responsive to being executed by aprocessor of a mobile device, cause the processor to perform operationscomprising: receiving user input at the mobile device; generating searchcriteria associated with content based on the user input; providing thesearch criteria to a recurrent searching system for storage at a firstmemory of the recurrent searching system and to cause the recurrentsearching system to perform a first search of first electronic programguide data accessible to the recurrent searching system based on thesearch criteria, wherein responsive to a lapse of a time period, asecond search of the first electronic program guide data is performed bythe recurrent search system based on the search criteria after the firstsearch, wherein the second search is not being performed in response toan update to the first electronic program guide data, and wherein thefirst electronic program guide data is updated based on scheduling oftelevision programs; receiving instructions to perform a third search ofsecond electronic program guide data stored at a second memory that isaccessible to the mobile device; and performing the third search of thesecond electronic program guide data responsive to the receiving of theinstructions.
 17. The computer-readable storage device of claim 16,wherein the operations further comprise presenting contentrecommendations based on search results from the first search, thesecond search and the third search.
 18. The computer-readable storagedevice of claim 16, wherein the second memory is located at a set topbox device in communication with the mobile device.
 19. Thecomputer-readable storage device of claim 16, wherein the operationsfurther comprise: receiving additional user input at the mobile devicespecifying a change to the search criteria to generate an adjustedsearch criteria; and sending the adjusted search criteria to therecurrent searching system.
 20. The computer-readable storage device ofclaim 16, wherein the operations further comprise: generating recordinginstructions based on the first search, the second search and the thirdsearch, and providing the recording instructions to a set top boxdevice.